package com.buyantech.smweb.util;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.codehaus.jackson.map.ObjectMapper;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.web.servlet.view.json.MappingJacksonJsonView;

public class MyMappingJacksonJsonView extends MappingJacksonJsonView{

	public MyMappingJacksonJsonView() {
		super();
		// TODO Auto-generated constructor stub
	}

	@Override
	protected Object filterModel(Map<String, Object> model) {
		// TODO Auto-generated method stub
		System.out.println("1");
		return super.filterModel(model);
	}

	@Override
	public Set<String> getRenderedAttributes() {
		// TODO Auto-generated method stub
		return super.getRenderedAttributes();
	}

	@Override
	protected void prepareResponse(HttpServletRequest request,
			HttpServletResponse response) {
		// TODO Auto-generated method stub
		super.prepareResponse(request, response);
	}

	@Override
	protected void renderMergedOutputModel(Map<String, Object> model,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		// TODO Auto-generated method stub
		super.renderMergedOutputModel(model, request, response);
	}

	@Override
	public void setDisableCaching(boolean disableCaching) {
		// TODO Auto-generated method stub
		super.setDisableCaching(disableCaching);
	}

	
	@Override
	public void setObjectMapper(ObjectMapper objectMapper) {
		// TODO Auto-generated method stub
		super.setObjectMapper(objectMapper);
	}

	@Override
	public void setPrefixJson(boolean prefixJson) {
		// TODO Auto-generated method stub
		super.setPrefixJson(prefixJson);
	}

	@Override
	public void setRenderedAttributes(Set<String> renderedAttributes) {
		// TODO Auto-generated method stub
		System.out.println("2");
		super.setRenderedAttributes(renderedAttributes);
	}

	@Override
	public void addStaticAttribute(String name, Object value) {
		// TODO Auto-generated method stub
		super.addStaticAttribute(name, value);
	}


	@Override
	protected ByteArrayOutputStream createTemporaryOutputStream() {
		// TODO Auto-generated method stub
		return super.createTemporaryOutputStream();
	}

	@Override
	protected void exposeModelAsRequestAttributes(Map<String, Object> model,
			HttpServletRequest request) throws Exception {
		// TODO Auto-generated method stub
		super.exposeModelAsRequestAttributes(model, request);
	}

	@Override
	protected boolean generatesDownloadContent() {
		// TODO Auto-generated method stub
		return super.generatesDownloadContent();
	}

	@Override
	public Map<String, Object> getAttributesMap() {
		// TODO Auto-generated method stub
		System.out.println("4");
		return super.getAttributesMap();
	}

	@Override
	public String getBeanName() {
		// TODO Auto-generated method stub
		System.out.println("4");
		return super.getBeanName();
	}

	@Override
	public String getContentType() {
		// TODO Auto-generated method stub
		return super.getContentType();
	}

	@Override
	public String getRequestContextAttribute() {
		// TODO Auto-generated method stub
		return super.getRequestContextAttribute();
	}

	@Override
	public Map getStaticAttributes() {
		// TODO Auto-generated method stub
		System.out.println("4");
		return super.getStaticAttributes();
	}

	@Override
	public void render(Map<String, ?> model, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		// TODO Auto-generated method stub
		super.render(model, request, response);
	}

	@Override
	public void setAttributes(Properties attributes) {
		// TODO Auto-generated method stub
		System.out.println("4");
		super.setAttributes(attributes);
	}

	@Override
	public void setAttributesCSV(String propString)
			throws IllegalArgumentException {
		// TODO Auto-generated method stub
		super.setAttributesCSV(propString);
	}

	@Override
	public void setAttributesMap(Map<String, ?> attributes) {
		// TODO Auto-generated method stub
		System.out.println("7");
		super.setAttributesMap(attributes);
	}

	@Override
	public void setBeanName(String beanName) {
		// TODO Auto-generated method stub
		System.out.println("9");
		super.setBeanName(beanName);
	}

	@Override
	public void setContentType(String contentType) {
		// TODO Auto-generated method stub
		super.setContentType(contentType);
	}

	@Override
	public void setRequestContextAttribute(String requestContextAttribute) {
		// TODO Auto-generated method stub
		super.setRequestContextAttribute(requestContextAttribute);
	}

	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return super.toString();
	}

	@Override
	protected void writeToResponse(HttpServletResponse response,
			ByteArrayOutputStream baos) throws IOException {
		// TODO Auto-generated method stub
		super.writeToResponse(response, baos);
	}

	@Override
	protected void initApplicationContext(ApplicationContext context) {
		// TODO Auto-generated method stub
		super.initApplicationContext(context);
	}

	@Override
	protected void initServletContext(ServletContext servletContext) {
		// TODO Auto-generated method stub
		super.initServletContext(servletContext);
	}

	@Override
	protected boolean isContextRequired() {
		// TODO Auto-generated method stub
		return super.isContextRequired();
	}

	@Override
	protected void initApplicationContext() throws BeansException {
		// TODO Auto-generated method stub
		super.initApplicationContext();
	}

	@Override
	protected Class requiredContextClass() {
		// TODO Auto-generated method stub
		return super.requiredContextClass();
	}

	@Override
	protected Object clone() throws CloneNotSupportedException {
		// TODO Auto-generated method stub
		return super.clone();
	}

	@Override
	public boolean equals(Object arg0) {
		// TODO Auto-generated method stub
		return super.equals(arg0);
	}

	@Override
	protected void finalize() throws Throwable {
		// TODO Auto-generated method stub
		super.finalize();
	}

	@Override
	public int hashCode() {
		// TODO Auto-generated method stub
		return super.hashCode();
	}

	
}
